1. Field of the Invention
The present invention relates to methods and apparatuses for generating sculptured surfaces for use with the designing apparatus for CAD/CAM (computer aided design/computer aided manufacturing) applications.
2. Description of the Related Art
In a geometric modeling application where an object with a sculptured surface is to be designed, the designer designates a plurality of points (called nodes) in the three-dimensional space to be traversed by that surface. The designated nodes are calculated using a desired vector function so that the nodes are connected by a boundary curve network. This provides a surface expressed by what is known as a wire frame. In this manner, there are generated a large number of frame spaces enclosed by boundary curves (this is called a framing process).
The boundary curve network generated by the framing process presents itself approximately as what the designer wants to design. In this case, a surface may be interpolated as the expression of a predetermined vector function using the boundary curves that enclose each frame space. Taken as a whole, this is the sculptured surface designated by the designer (and not defined by secondary functions). Each surface occupying each frame space constitutes a component that makes up the entire surface. The component is called a patch.
As disclosed in a Japanese Laid-Open Patent Application 62-135965 published in June 1987, there was proposed a free curve generating method whereby the control side vectors around a common boundary between two adjacent frame spaces are modified in order to establish a patch that will satisfy the condition for tangent plane condition on that common boundary. The major object of this prior art method is to provide the entire sculptured surface with a more natural external shape.
FIG. 1 shows the prior art sculptured surface generating method involves first locating a patch vector S(u,v)l and a patch vector S(u,v)2 in a rectangular frame space and having them expressed by a vector function S(u,v) constituting a cubic Bezier equation. The two patch vectors S(u,v)1 and S(u,v)2 are connected smoothly as follows. When node vectors P(00), P(30)1, P(33)1, P(03), P(33)2, and P(30)2 are furnished by the framing process, there are accordingly established control side vectors a1, a2, c1, and c2 in such a manner that the condition for tangent plane continuation is met on a common boundary COM between adjacent patch vectors S(u,v)1 and S(u,v)2. These control side vectors are used to modify control point vectors P(11)1, P(12)1, P(11)2, and P(12)2.
The above method is applied consecutively to other common boundaries. This eventually results in the smooth connection of the patch vectors S(u,v)l and S(u,v)2 on the condition of tangent plane continuation with the adjacent patches. The vector function S(u,v) constituted by a cubic Bezier equation is expressed as: EQU S(u,v)=(1-u+uE).sup.3 (1-v+vF).sup.3 P(00) (1)
where, "u" and "v" are parameters for "u" and "v" directions respectively, and E and F are shift operators. Furthermore, the vector function S(u,v) has those relations with a control point vector P(ij) which are defined as : EQU E.multidot.P(ij)=P(i+1j) (i,j=0,1,2) (2) EQU E.multidot.P(ij)=P(i j+1) (i,j=0,1,2) (3) EQU 0.ltoreq.u.ltoreq.1 (4) EQU 0.ltoreq.v.ltoreq.1 (5)
The tangent plane is a plane formed by tangent vectors in the "u" and "v" directions at each of the nodes on a common boundary. For example, where the patch vectors S(u,v)1 and S(u,v)2 in FIG. 1 share the same tangent plane on a common boundary COM12, the condition of tangent plane continuation is met.
The above prior art method allows the designer to design cubic shapes that are otherwise difficult to design, such as those whose surfaces change smoothly.
Quality design reflecting the sensitivity of the designer may be obtained by using such a designing apparatus to generate between two free curves spaced at a non-uniform distance in the three-dimensional space, a sculptured surface corresponding to a track obtained by rotating a sphere. In this case, one of the free curves is used as a base line, while the other is used as a relative line. A plane is defined using, as the normal, a tangent at each point on the base line, and the intersection of each of the defined planes and the relative line is determined. This is inconvenient in that as many planes as the points on the base line must be defined and that the intersections of all the planes and the relative line must be determined.
In addition, circular arcs of a specified radius are generated on each of the planes using a point on the base line and the corresponding intersection on the relative line as endpoints. Since these circular arcs are generated using the point on the base line and the intersection on the relative line, the center of the circular arc must be determined. Processing for selecting between two circular arcs generated is also required. Since this processing must be performed for all the points on the base line, it takes a large amount of time and inconvenience.
Furthermore, although such a group of circular arcs are converted into a free curve patch to generate a sculptured surface between the two free lines, a free curve patch cannot be generated easily from a group of circular arcs, resulting in an inaccurate patch. In addition, sculptured surfaces generated may have a non-uniform curvature, and a sculptured surfaces cannot be generated easily when curves have very inconstant geometries.